﻿using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Text;
using com.creditos.be.liclSeguridad;
using com.creditos.bl.interfaces.liclSeguridad;
using com.creditos.dao.sql.liclSeguridad;
using com.creditos.be.liclEntities;


namespace com.creditos.bl.liclSeguridad
{
    [ServiceBehavior(Name = "UsuarioBL",
    Namespace = "http://com.creditos.bl.interfaces.liclSeguridad",
    ConcurrencyMode = ConcurrencyMode.Multiple,
    InstanceContextMode = InstanceContextMode.PerSession,
    IncludeExceptionDetailInFaults = true)]
    public class UsuarioBL : IUsuarioBL
    {
        #region IUsuarioBL Members

        public List<UsuarioBE> validar(UsuarioBE request)
        {

            List<UsuarioBE> lstUsuario = new List<UsuarioBE>();
            List<PerfilBE> lstPerfil = new List<PerfilBE>();
            List<OpcionBE> lstOpcion = new List<OpcionBE>();
            try
            {
                lstUsuario = UsuarioDL.ObtenerEmpresa(request);
                if (lstUsuario.Count > 0)
                {
                    if (lstUsuario[0].CodUsuario.Trim() == request.CodUsuario.Trim())
                    {
                        request.CodigoUsuario = lstUsuario[0].CodigoUsuario;
                        lstPerfil = PerfilDL.ObtenerPerfiles(request);
                        lstOpcion = OpcionDL.ObtenerOpciones(request);
                        if(lstPerfil.Count>0)
                            foreach (UsuarioBE oUsu in lstUsuario)
                            {
                                oUsu.Perfiles = lstPerfil;
                                oUsu.Opciones = lstOpcion;
                            }                        
                    }
                }
            }
            catch (Exception ex)
            {
                FaultReason err = new FaultReason(ex.Message);
                throw new FaultException(err);
                //new ErrorSGC(1,ex.Message)
            }
            return lstUsuario;
        }



        #endregion

    }
}
